#ifndef ENEMY_H
#define ENEMY_H

#include <QObject>
#include <QGraphicsPixmapItem>
#include <QTimer>

class enemy : public QObject, public QGraphicsPixmapItem
{
    Q_OBJECT
public:

    // - spriteSheetPath: 精灵图路径
    // - frameWidth/Height: 单帧尺寸
    // - frameCount: 总帧数
    // - animationSpeed: 帧切换间隔（毫秒）
    explicit enemy(QPoint pos,
                   const QString& spriteSheetPath,
                   int frameWidth,
                   int frameHeight,
                   int frameCount,
                   int animationSpeed = 16);
public:
    ~enemy();


    void updateFrame(); // 更新动画帧
signals:
    void destroyed(enemy* e);//销毁enemy

public slots:
    void move(); // 敌人移动逻辑

private:
    QTimer* animationtimer; // 动画定时器
    QTimer* enemymovetimer;      // 移动定时器
    QPixmap spritesheet;    // 精灵图
    int currentframe;       // 当前帧索引
    int framewidth;         // 单帧宽度
    int  frameheight;        // 单帧高度
    int  framenum;         // 总帧数
    double  enemymovespeed;       // 移动速度
};

#endif // ENEMY_H
